home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #4 / Amiga Plus CD - 2000 - No. 4.iso / PowerPC / Dev / PPCRelease / Examples / PPCInlines / ppc_inline.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-04  |  12.4 KB  |  294 lines

  1. /* Automatically generated header! Do not edit! */
  2.  
  3. #ifndef _PPCINLINE_PPC_H
  4. #define _PPCINLINE_PPC_H
  5.  
  6. #ifndef __PPCINLINE_MACROS_H
  7. #include <powerup/ppcinline/macros.h>
  8. #endif /* !__PPCINLINE_MACROS_H */
  9.  
  10. #ifndef PPC_BASE_NAME
  11. #define PPC_BASE_NAME PPCLibBase
  12. #endif /* !PPC_BASE_NAME */
  13.  
  14. #define PPCAddPortList(PPCPortList, PPCPort) \
  15.     LP2(0x17a, BOOL, PPCAddPortList, void*, PPCPortList, a0, void*, PPCPort, a1, \
  16.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  17.  
  18. #define PPCAllocMem(size, attributes) \
  19.     LP2(0x30, void*, PPCAllocMem, ULONG, size, d0, ULONG, attributes, d1, \
  20.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  21.  
  22. #define PPCAllocPooled(poolHeader, memSize) \
  23.     LP2(0xf6, void*, PPCAllocPooled, void*, poolHeader, a0, ULONG, memSize, d0, \
  24.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  25.  
  26. #define PPCAllocVec(byteSize, attributes) \
  27.     LP2(0x3c, void*, PPCAllocVec, ULONG, byteSize, d0, ULONG, attributes, d1, \
  28.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  29.  
  30. #define PPCAllocVecPooled(Pool, byteSize) \
  31.     LP2(0x102, void*, PPCAllocVecPooled, void*, Pool, a0, ULONG, byteSize, d0, \
  32.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  33.  
  34. #define PPCCacheClearE(address, length, caches) \
  35.     LP3NR(0x156, PPCCacheClearE, void*, address, a0, ULONG, length, d0, ULONG, caches, d1, \
  36.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  37.  
  38. #define PPCCacheInvalidE(address, length, caches) \
  39.     LP3NR(0x15c, PPCCacheInvalidE, void*, address, a0, ULONG, length, d0, ULONG, caches, d1, \
  40.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  41.  
  42. #define PPCCacheTrashE(address, length, caches) \
  43.     LP3NR(0x1b0, PPCCacheTrashE, void*, address, a0, ULONG, length, d0, ULONG, caches, d1, \
  44.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  45.  
  46. #define PPCCreateMessage(PPCPort, Length) \
  47.     LP2(0x126, void*, PPCCreateMessage, void*, PPCPort, a0, ULONG, Length, d0, \
  48.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  49.  
  50. #define PPCCreatePool(memFlags, puddleSize, threshSize) \
  51.     LP3(0xea, void*, PPCCreatePool, ULONG, memFlags, d0, ULONG, puddleSize, d1, ULONG, threshSize, d2, \
  52.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  53.  
  54. #define PPCCreatePort(Tags) \
  55.     LP1(0x10e, void*, PPCCreatePort, struct TagItem*, Tags, a0, \
  56.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  57.  
  58. #ifndef NO_PPCINLINE_STDARG
  59. #define PPCCreatePortTags(tags...) \
  60.     ({ULONG _tags[] = { tags }; PPCCreatePort((struct TagItem*)_tags);})
  61. #endif /* !NO_PPCINLINE_STDARG */
  62.  
  63. #define PPCCreatePortList(PPCPortArray, ExtSignals) \
  64.     LP2(0x16e, void*, PPCCreatePortList, void**, PPCPortArray, a0, ULONG, ExtSignals, d0, \
  65.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  66.  
  67. #define PPCCreateTask(ElfObject, Tags) \
  68.     LP2(0x54, void    *, PPCCreateTask, void*, ElfObject, a0, struct TagItem*, Tags, a1, \
  69.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  70.  
  71. #ifndef NO_PPCINLINE_STDARG
  72. #define PPCCreateTaskTags(a0, tags...) \
  73.     ({ULONG _tags[] = { tags }; PPCCreateTask((a0), (struct TagItem*)_tags);})
  74. #endif /* !NO_PPCINLINE_STDARG */
  75.  
  76. #define PPCDeleteMessage(PPCMessage) \
  77.     LP1NR(0x12c, PPCDeleteMessage, void*, PPCMessage, a0, \
  78.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  79.  
  80. #define PPCDeletePool(poolHeader) \
  81.     LP1(0xf0, BOOL, PPCDeletePool, void*, poolHeader, a0, \
  82.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  83.  
  84. #define PPCDeletePort(PPCPort) \
  85.     LP1(0x114, BOOL, PPCDeletePort, void*, PPCPort, a0, \
  86.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  87.  
  88. #define PPCDeletePortList(PPCPortList) \
  89.     LP1NR(0x174, PPCDeletePortList, void*, PPCPortList, a0, \
  90.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  91.  
  92. #define PPCDeleteTask(TaskObject) \
  93.     LP1(0x5a, BOOL, PPCDeleteTask, void*, TaskObject, a0, \
  94.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  95.  
  96. #define PPCFindTask(Name) \
  97.     LP1(0x66, void    *, PPCFindTask, char    *, Name, a0, \
  98.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  99.  
  100. #define PPCFindTaskObject(TaskObject) \
  101.     LP1(0x90, void    *, PPCFindTaskObject, void*, TaskObject, a0, \
  102.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  103.  
  104. #define PPCFreeMem(Memory, size) \
  105.     LP2NR(0x36, PPCFreeMem, void*, Memory, a1, ULONG, size, d0, \
  106.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  107.  
  108. #define PPCFreePooled(poolHeader, memory, memSize) \
  109.     LP3NR(0xfc, PPCFreePooled, void*, poolHeader, a0, APTR, memory, a1, ULONG, memSize, d0, \
  110.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  111.  
  112. #define PPCFreeVec(memoryBlock) \
  113.     LP1(0x42, void*, PPCFreeVec, void*, memoryBlock, a1, \
  114.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  115.  
  116. #define PPCFreeVecPooled(Pool, memoryBlock) \
  117.     LP2NR(0x108, PPCFreeVecPooled, void*, Pool, a0, void*, memoryBlock, a1, \
  118.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  119.  
  120. #define PPCGetAttrs(Tags) \
  121.     LP1(0x8a, ULONG, PPCGetAttrs, struct TagItem*, Tags, a0, \
  122.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  123.  
  124. #ifndef NO_PPCINLINE_STDARG
  125. #define PPCGetAttrsTags(tags...) \
  126.     ({ULONG _tags[] = { tags }; PPCGetAttrs((struct TagItem*)_tags);})
  127. #endif /* !NO_PPCINLINE_STDARG */
  128.  
  129. #define PPCGetMessage(PPCPort) \
  130.     LP1(0x138, void*, PPCGetMessage, void*, PPCPort, a0, \
  131.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  132.  
  133. #define PPCGetMessageAttr(PPCMessage, Attr) \
  134.     LP2(0x132, ULONG, PPCGetMessageAttr, void*, PPCMessage, a0, ULONG, Attr, d0, \
  135.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  136.  
  137. #define PPCGetObjectAttrs(ElfObject, PPCObjectInfo_, Tags) \
  138.     LP3(0xc6, ULONG, PPCGetObjectAttrs, void*, ElfObject, a0, struct PPCObjectInfo*, PPCObjectInfo_, a1, struct TagItem*, Tags, a2, \
  139.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  140.  
  141. #ifndef NO_PPCINLINE_STDARG
  142. #define PPCGetObjectAttrsTags(a0, a1, tags...) \
  143.     ({ULONG _tags[] = { tags }; PPCGetObjectAttrs((a0), (a1), (struct TagItem*)_tags);})
  144. #endif /* !NO_PPCINLINE_STDARG */
  145.  
  146. #define PPCGetPortListAttr(PPCPortList, Attr) \
  147.     LP2(0x18c, ULONG, PPCGetPortListAttr, void*, PPCPortList, a0, ULONG, Attr, d0, \
  148.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  149.  
  150. #define PPCGetTaskAttrs(TaskObject, Tags) \
  151.     LP2(0x84, ULONG, PPCGetTaskAttrs, void*, TaskObject, a0, struct TagItem*, Tags, a1, \
  152.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  153.  
  154. #ifndef NO_PPCINLINE_STDARG
  155. #define PPCGetTaskAttrsTags(a0, tags...) \
  156.     ({ULONG _tags[] = { tags }; PPCGetTaskAttrs((a0), (struct TagItem*)_tags);})
  157. #endif /* !NO_PPCINLINE_STDARG */
  158.  
  159. #define PPCLoadObject(Name) \
  160.     LP1(0x1e, APTR, PPCLoadObject, char*, Name, a0, \
  161.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  162.  
  163. #define PPCLoadObjectTagList(Tags) \
  164.     LP1(0x198, APTR, PPCLoadObjectTagList, struct TagItem*, Tags, a0, \
  165.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  166.  
  167. #ifndef NO_PPCINLINE_STDARG
  168. #define PPCLoadObjectTags(tags...) \
  169.     ({ULONG _tags[] = { tags }; PPCLoadObjectTagList((struct TagItem*)_tags);})
  170. #endif /* !NO_PPCINLINE_STDARG */
  171.  
  172. #define PPCObtainPort(Tags) \
  173.     LP1(0x11a, void*, PPCObtainPort, struct TagItem*, Tags, a0, \
  174.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  175.  
  176. #ifndef NO_PPCINLINE_STDARG
  177. #define PPCObtainPortTags(tags...) \
  178.     ({ULONG _tags[] = { tags }; PPCObtainPort((struct TagItem*)_tags);})
  179. #endif /* !NO_PPCINLINE_STDARG */
  180.  
  181. #define PPCReadByte(Address) \
  182.     LP1(0xde, UBYTE, PPCReadByte, UBYTE*, Address, a0, \
  183.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  184.  
  185. #define PPCReadLong(Address) \
  186.     LP1(0x9c, ULONG, PPCReadLong, ULONG*, Address, a0, \
  187.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  188.  
  189. #define PPCReadWord(Address) \
  190.     LP1(0xd2, UWORD, PPCReadWord, UWORD*, Address, a0, \
  191.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  192.  
  193. #define PPCReleasePort(PPCPort) \
  194.     LP1(0x120, BOOL, PPCReleasePort, void*, PPCPort, a0, \
  195.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  196.  
  197. #define PPCRemPortList(PPCPortList, PPCPort) \
  198.     LP2NR(0x180, PPCRemPortList, void*, PPCPortList, a0, void*, PPCPort, a1, \
  199.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  200.  
  201. #define PPCReplyMessage(PPCMessage) \
  202.     LP1(0x144, BOOL, PPCReplyMessage, void*, PPCMessage, a0, \
  203.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  204.  
  205. #define PPCRunKernelObject(a, b) \
  206.     LP2(0x72, ULONG, PPCRunKernelObject, void*, a, a0, struct ModuleArgs*, b, a1, \
  207.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  208.  
  209. #define PPCRunKernelObjectFPU() \
  210.     LP0(0x96, DOUBLE, PPCRunKernelObjectFPU, \
  211.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  212.  
  213. #define PPCRunObject(ElfObject, Argument) \
  214.     LP2(0x2a, ULONG, PPCRunObject, void*, ElfObject, a0, void*, Argument, a1, \
  215.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  216.  
  217. #define PPCSendMessage(PPCPort, PPCMessage, Data, Length, MsgID) \
  218.     LP5(0x14a, BOOL, PPCSendMessage, void*, PPCPort, a0, void*, PPCMessage, a1, void*, Data, a2, ULONG, Length, d0, ULONG, MsgID, d1, \
  219.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  220.  
  221. #define PPCSetAttrs(Tags) \
  222.     LP1(0x19e, BOOL, PPCSetAttrs, struct TagItem*, Tags, a0, \
  223.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  224.  
  225. #ifndef NO_PPCINLINE_STDARG
  226. #define PPCSetAttrsTags(tags...) \
  227.     ({ULONG _tags[] = { tags }; PPCSetAttrs((struct TagItem*)_tags);})
  228. #endif /* !NO_PPCINLINE_STDARG */
  229.  
  230. #define PPCSetPortListAttr(PPCPortList, Attr) \
  231.     LP2NR(0x192, PPCSetPortListAttr, void*, PPCPortList, a0, ULONG, Attr, d0, \
  232.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  233.  
  234. #define PPCSetTaskAttrs(TaskObject, Tags) \
  235.     LP2(0xc0, ULONG, PPCSetTaskAttrs, void*, TaskObject, a0, struct TagItem*, Tags, a1, \
  236.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  237.  
  238. #ifndef NO_PPCINLINE_STDARG
  239. #define PPCSetTaskAttrsTags(a0, tags...) \
  240.     ({ULONG _tags[] = { tags }; PPCSetTaskAttrs((a0), (struct TagItem*)_tags);})
  241. #endif /* !NO_PPCINLINE_STDARG */
  242.  
  243. #define PPCSignalTask(TaskObject, SignalMask) \
  244.     LP2NR(0x60, PPCSignalTask, void*, TaskObject, a0, ULONG, SignalMask, d0, \
  245.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  246.  
  247. #define PPCStartTask(TaskObject, Tags) \
  248.     LP2(0xb4, BOOL, PPCStartTask, void*, TaskObject, a0, struct TagItem*, Tags, a1, \
  249.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  250.  
  251. #ifndef NO_PPCINLINE_STDARG
  252. #define PPCStartTaskTags(a0, tags...) \
  253.     ({ULONG _tags[] = { tags }; PPCStartTask((a0), (struct TagItem*)_tags);})
  254. #endif /* !NO_PPCINLINE_STDARG */
  255.  
  256. #define PPCStopTask(TaskObject, Tags) \
  257.     LP2(0xba, BOOL, PPCStopTask, void*, TaskObject, a0, struct TagItem*, Tags, a1, \
  258.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  259.  
  260. #ifndef NO_PPCINLINE_STDARG
  261. #define PPCStopTaskTags(a0, tags...) \
  262.     ({ULONG _tags[] = { tags }; PPCStopTask((a0), (struct TagItem*)_tags);})
  263. #endif /* !NO_PPCINLINE_STDARG */
  264.  
  265. #define PPCUnLoadObject(Object) \
  266.     LP1NR(0x24, PPCUnLoadObject, void*, Object, a0, \
  267.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  268.  
  269. #define PPCWaitPort(PPCPort) \
  270.     LP1(0x150, void*, PPCWaitPort, void*, PPCPort, a0, \
  271.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  272.  
  273. #define PPCWaitPortList(PPCPortList) \
  274.     LP1(0x186, void*, PPCWaitPortList, void*, PPCPortList, a0, \
  275.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  276.  
  277. #define PPCWriteByte(Address, Value) \
  278.     LP2NR(0xe4, PPCWriteByte, UBYTE*, Address, a0, UBYTE, Value, d0, \
  279.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  280.  
  281. #define PPCWriteLong(Address, Value) \
  282.     LP2NR(0xa2, PPCWriteLong, ULONG*, Address, a0, ULONG, Value, d0, \
  283.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  284.  
  285. #define PPCWriteLongFlush(Address, Value) \
  286.     LP2NR(0xcc, PPCWriteLongFlush, ULONG*, Address, a0, ULONG, Value, d0, \
  287.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  288.  
  289. #define PPCWriteWord(Address, Value) \
  290.     LP2NR(0xd8, PPCWriteWord, UWORD*, Address, a0, UWORD, Value, d0, \
  291.     , PPC_BASE_NAME, IF_CACHEFLUSHALL, NULL, 0, IF_CACHEFLUSHALL, NULL, 0)
  292.  
  293. #endif /* !_PPCINLINE_PPC_H */
  294.